# 1. 模块
## 1.1 一个py文件就是一个模块,即导入一个模块本质上就是执行一个py文件
## 1.2 分类
### 内置模块 random time os logging 直接导入即可使用
### 第三方模块 通过命令行 pip install 模块名 安装模块
### 自定义模块 自己在项目中定义的模块 -> 命名要遵循标识符规定以及变量的命名规范,不要与内置模块重名


# 2. 导入模块
## 2.1 import 模块名1,模块名2... 通过模块名.功能名 使用
import my_module
my_module.funa()
print(my_module.name)
# my_module
# funa
# wcb



## 2.2 form ... import 功能1,功能2.....

from my_module import funb,funa
funb() # funb
funa() # funa



## 2.3 form ... import * -> 导入所有
from my_module import *
print(name) # wcb



# 3.给模块起别名 -> as
import my_module as m_m
print(m_m.name) # wcb

# 4.给功能起别名
from my_module import funb as b
b() # funb



# 5. 内置全局变量 __name__
## 5.1 语法:
## if __name__ == "__main__"
## 5.2 作用
## 用来控制py文件在在不同应用场景执行不用的逻辑
## 5.3 __name__
## 1. 文件在当前程序执行(即自己执行自己): __name__ == "__main__"
## 2.文件被当做模块被其他文件导入: __name__ == 模块名
import my_module2
my_module2.test() # hahaha
